package main

import "fmt"

//方法：有接收者的函数
/*
type mytype struct {}
func (recv mytype) method_name(para) return_type {}
func (recv *mytype) method_name(para) return_type {}
mytype：定义一个结构体
recv：接收该方法的结构体
method_name：方法名称
para：参数列表
return_type：返回值模型
方法和函数非常类似，只多了一个接收类型
*/

type Parson struct {
	name string
}

func (per Parson) eat() {
	fmt.Println(per.name, "+ 正在eating...")
}

func (per Parson) sleep() {
	fmt.Println(per.name, "+ 正在sleep...")
}

func (per Parson) listin(str string) string {
	fmt.Println(per.name+str, "+ 叫什么")
	return per.name + str
}

func main() {
	var par Parson
	par.name = "tom"
	par.eat()
	par.sleep()
	par.listin("汪汪")
}
